package ie.deloitte.cvapp.validation;

import ie.deloitte.cvapp.form.EmployeeBeanForm;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;

public class Validation implements Validator {

//	public Validation() {
//		super();
//	}

	public void validate(Object obj, Errors errors) {
//		EmployeeBeanForm employeebean = (EmployeeBeanForm) obj;
//System.out.println("from the validator!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1");
		ValidationUtils.rejectIfEmptyOrWhitespace(errors, "name", "name.required");

		ValidationUtils.rejectIfEmptyOrWhitespace(errors, "surname", "surname.required");
//		if (!errors.hasFieldErrors("")) {
//			if (employeebean.getName().contains(null)
//					|| employeebean.getName().equals(""))
//				errors.rejectValue("Name", "not_zero", "You must enter a name");
//		}
	}
	

//	public boolean validate(EmployeeBeanForm employeebean) {
//
//		if (employeebean == null)
//			return false;
//
//		if (employeebean.getName().equals(""))
//			return false;
//
//		if (!employeebean.getName().matches("[a-zA-Z]+$"))
//			return false;
//
//		if (employeebean.getSurname().equals(""))
//			return false;
//
//		if (!employeebean.getSurname().matches("[a-zA-Z]+$"))
//			return false;
//
//		if (employeebean.getEmail().equals(""))
//			return false;
//
//		if (!employeebean
//				.getEmail()
//				.matches(
//						"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?"))
//			return false;
//
//		if (employeebean.getPrimarytelephone().equals(""))
//			return false;
//
//		if (!employeebean.getPrimarytelephone().matches("\\d{3}-\\d{7}"))
//			return false;
//
//		if (employeebean.getSecondarytelepohne().equals(""))
//			return false;
//
//		if (!employeebean.getSecondarytelepohne().matches("\\d{3}-\\d{7}"))
//			return false;
//
//		if (employeebean.getProfile().equals(""))
//			return false;
//
//		return true;
//
//	}
//
	public boolean supports(Class<?> clazz) {
		return EmployeeBeanForm.class.isAssignableFrom(clazz);
	}

//	public void validate1(Object target, Errors errors) {
//		ValidationUtils.rejectIfEmptyOrWhitespace(errors, "name",
//				"name.required");
//
//		EmployeeBeanForm employeebean = (EmployeeBeanForm) target;
//		if (employeebean.getName().equals("")) {
//			errors.rejectValue("name", "Please provide a name");
//		}
//
//	}

//	public void validate(Object target, Errors errors) {
//		// TODO Auto-generated method stub
//		
//	}
}
